Image display systems are generally used in computers, mobile phones, and other digital systems to provide a graphical user interface. Most types of display devices, such as CRTs and LCD panels, require repetitive refresh of the image contents, typically 50-70 times per second. To this end, the display screen (the phosphor screen in the CRT and the liquid crystal layer in the LCD) is scanned at high speed e.g. from left to right (line scan) and a lower speed from top to bottom (frame scan). In an LCD this is done by electrically activating horizontal and vertical transparent electrodes on the glass surfaces. This refreshing requires pixel data to be retrieved in this order at the required rate, from a stored digital representation of the image. The line and frame scan frequencies are selected such that the available frame refresh period is utilized as well as possible so that the needed data rate will not be unnecessarily high. Thus, a video signal must be generated, all the time, at a high and steady data rate (in some systems short interruptions at end of line and of frame are required), and the generation of this signal requires reading from a memory that stores data for every pixel in the image.
This storage of the image for display refresh may use a separate frame buffer memory or, alternatively, an area in the main memory of a general microprocessor or micro controller may be used. In the latter case this processor would also be the one that creates and modifies the contents of the image area under control of an application program, which would typically call graphics subroutines for the drawing of text symbols and primitive shapes, and perhaps image decompression subroutines (e.g. JPEG) for processing photographic images. In some systems disturbing temporary image distortions may appear, e.g. flashes of incomplete objects, when changes in the image area are not properly synchronized with refresh.
A separate frame buffer memory represents a relatively high cost, but it is often used in high-resolution systems, because the high data rate required for refresh would otherwise considerably reduce the main memory bandwidth available for the processor, and thus make the application program go slower.
There are thus conflicting requirements with respect to cost on one hand and efficiency on the other hand.